\chapter{关于 \LaTeX 和 \BIThesis 的一些疑难解答}
\label{chap:what}

\section{为什么要用 \LaTeX{} 和 \BIThesis{}？}

学术、学位论文有严格的格式要求。校方一般提供 Word 模板。虽然一般同学更常用 Word，但是：
\begin{center}
  \kaishu
  如果你有足够多使用 Word 的经历，一定会体验过\\
  「同一份 Word 文档，在不同地方打开就变得不同」\\
  这样的魔幻现实主义色彩的经历。
\end{center}

\LaTeX{} 适用于学术论文排版，使用者能将关注点更多放在内容质量，避免繁琐的格式调整。
\BIThesis{} 提供了一套开箱即用的 \LaTeX{} 模板，符合北京理工大学\isGraduateTF{硕士（博士）学位论文}{本科生毕业设计（论文）}规范。

\section{为何需要这么多步骤，我该如何开始？}

首先，\LaTeX{} 与 Word 不同，它本质上是用于
排版的「语言」或「语法规则」。我们实际上是编辑\underline{文本文件}（以
\texttt{.tex} 结尾的文件），用一套\underline{拟定好的标记语法}
设定文字的样式，并\underline{利用一些工具}，将其转化为 PDF 文档。

\begin{itemize}[noitemsep]
  \item \textbf{\underline{文本文件}} 意味着我们只需要创建一个以 \texttt{.tex}
  结尾的文件，即可开始论文内容的撰写；
  \item \textbf{\underline{拟定好的语法}} 则需要我们了解一些 \LaTeX{} 中常用的语
  法语言规则，用来以文本的形式描述内容的格式，从而让下面提到的工具可以根据格式
  需要，将文档转化为PDF；
  \item \textbf{\underline{利用一些工具}} 也就表示我们需要这些工具（程序），来将
  文本内容转化为符合格式的 PDF 文档：我们或是下载安装他们到本地，或是使用在线平台。
\end{itemize}

因此，本手册也将以这样的逻辑，为大家分别介绍每处需要的知识——我们将首先介绍如
何「安装这些工具」，并如何更舒服地创建、编写此「文本文件」（在自己的电脑上和使
用在线的编辑器是不一样的）；而后，我们将在后续的章节，简单的讲述常用的「拟定好的
语法」--- 以让大家快速上手，使用 \BIThesis{} 撰写自己的毕业论文。

\section{在自己的电脑上编写论文}

\textit{
\autoref{sec:local-compile}介绍了如何安装 TeX Live（一些工具）和 TeXstudio（文本文件编辑器）。
若您已正常得到PDF，可直接跳到\autoref{sec:using-bithesis}编写论文。
}

在这里，我们将在自己的电脑上配置安装撰写 \LaTeX{} 的相关工具。首先，我们搞定
\underline{一些工具} 的安装，来更方便的撰写 \underline{文本文件} 并将其转化为
符合格式的 PDF 文档。

\paragraph{一些工具的安装} 在 \LaTeX{} 的世界中，我们的「一些工具」包括将
\LaTeX{} 源码按照格式转换为 PDF 文档的「编译器」，和支撑部分 \LaTeX{} 格式语法的
「宏包」。我们将他们统称为一个 \LaTeX{} 发行版——也就是我们需要在自己的电脑上
安装的软件。

一般用的标准 \LaTeX{} 发行版就是 \TeX{}Live（macOS 上又名 Mac\TeX{}），安装方法见\autoref{sec:local-compile}。

\paragraph{文本文件} 我们撰写的 \LaTeX{} 文档，其实是「无格式」的文本文档。
也因此，任何能够编辑文本的工具我们其实都可以使用。但是，专业的\LaTeX{} 编辑器
一般会提供 \LaTeX{} 源码的编辑和预览功能。虽然不是必要的，但是使用编辑器可以大大
提高\LaTeX{} 的使用效率。

对于 \TeX{}Live 或者 Mac\TeX，发行版自带了基础的编辑器（分别是 \TeX{}works 和
\TeX{}Shop），可直接使用。集成的编辑环境，比如 \TeX{}studio 也是推荐大家使用的。
另外，比如 VS Code 和 Vim 等通用代码编辑器，也可以借助插件的安装，提升 \LaTeX{}
的撰写体验。
更具体的指南可参考\href{https://bithesis.bitnp.net/guide/configure-and-compile.html}{编辑器配置与模板编译 | BIThesis}。

\textit{
到此，我们其实就可以直接使用本模板，在自己的电脑上进行论文的编写了。如果想再了解
有关在线编辑平台 Overleaf 的相关内容，请继续阅读\autoref{sec:online-overleaf}；
否则，大家可以直接跳转到\autoref{sec:using-bithesis}，了解模板的使用方法。
}

\section{本地编译与在线平台，我该使用哪一个？}
\label{sec:online-overleaf}

\href{https://cn.overleaf.com}{Overleaf}、\href{https://www.texpage.com/zh/}{TeXPage} 等在线平台在浏览器中提供了 \LaTeX{} 编辑器，可以直接在网页上编辑预览 \LaTeX{}。
选用在线平台既有优点也有缺点：
\begin{itemize}[noitemsep]
  \item \textbf{优点}
    \begin{itemize}[noitemsep]
      \item ​​注册即用，无需自己安装 \LaTeX{} 发行版并配置编辑器。
      \item 云端同步，文档可以跨设备编辑预览。
      \item 协作便捷，可以共享项目，能让前辈实时批注。
    \end{itemize}
  \item \textbf{缺点}
    \begin{itemize}[noitemsep]
      \item 依赖网络，信号一差就无法操作，且不能涉及秘密内容。
      \item 编译受限，特别是免费时长有限\footnote{2025年，\href{https://cn.overleaf.com/user/subscription/choose-your-plan}{免费版 Overleaf 是 20 s}，\href{https://www.texpage.com/}{免费版 TeXPage 是 1 min}。}，参考文献、图片特别多时，只能\href{https://bithesis.bitnp.net/faq/slow.html}{变通}。
      \item 集成困难，例如若用 \href{https://www.zotero.org}{Zotero} 等文献管理软件，很难自动连接。
    \end{itemize}
\end{itemize}

因此，需要使用者根据自己的需求进行选择。

\section{如何将自己电脑上的论文转到 Overleaf}

\textit{
\autoref{sec:overleaf-compile}介绍了如何从 \href{https://bithesis.bitnp.net}{BIThesis.bitnp.net} 新建项目，那样通常更简单；不过若您已在本地用了模板，想转到 Overleaf，请参考此节。
}

\begin{enumerate}
  \item 按网页提示上传文件到 Overleaf，注意\textbf{避免嵌套文件夹}。

    （原因：嵌套文件夹可能导致无法统计字数；不过不影响编译。）

    参考\autoref{fig:overleaf-recompile}，文件 \texttt{main.tex}、文件夹 \texttt{chapters/} 等在根目录，而没有嵌套在 \isGraduateTF{\texttt{graduate-thesis/}}{\texttt{undergraduate-thesis/}} 文件夹中。若您已嵌套，可到左侧文件列表单击再拖动来移动文件。

    详细操作如下。访问 \href{https://cn.overleaf.com/project}{overleaf.com/project}，单击左上角\texttt{New Project}，然后有下面两种方法。

    \begin{itemize}
      \item 选择\texttt{Blank Project}，稍等片刻。待创建完成后，选择左上角\texttt{Upload}按钮，逐一上传文件（\texttt{Select files}）或一次性上传文件夹（\texttt{Select a folder}）。
      \item 将自己电脑中的文件夹打包成ZIP，通过\texttt{Upload Project}上传ZIP文件。
    \end{itemize}

  \item 单击左上角 \texttt{Menu} 打开侧边栏，找到 \texttt{Settings} 一段，\textbf{将 \texttt{Compiler} 一项的值改为 \texttt{XeLaTeX}}。

    （原因：默认的 \texttt{pdfLaTeX} 几乎不支持汉字，不修改则无法正常编译。）
\end{enumerate}
